runtime.m.locks (field)
42 uses
runtime (current package)
lock_futex.go#L53: if gp.m.locks < 0 {
lock_futex.go#L56: gp.m.locks++
lock_futex.go#L124: gp.m.locks--
lock_futex.go#L125: if gp.m.locks < 0 {
lock_futex.go#L128: if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
mgc.go#L581: if gp := getg(); gp == mp.g0 || mp.locks > 1 || mp.preemptoff != "" {
mgcmark.go#L413: if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
mgcsweep.go#L337: gp.m.locks++
mgcsweep.go#L343: gp.m.locks--
mgcsweep.go#L412: gp.m.locks--
mgcsweep.go#L433: if _g_.m.locks == 0 && _g_.m.mallocing == 0 && _g_ != _g_.m.g0 {
mgcsweep.go#L472: if _g_.m.locks == 0 && _g_.m.mallocing == 0 && _g_ != _g_.m.g0 {
panic.go#L782: if gp.m.locks != 0 {
panic.go#L1127: if _g_.m.locks < 0 {
panic.go#L1128: _g_.m.locks = 1
panic.go#L1228: if mp.locks != 0 || mp.mallocing != 0 || mp.throwing != 0 || mp.preemptoff != "" || mp.dying != 0 {
preempt.go#L288: return mp.locks == 0 && mp.mallocing == 0 && mp.preemptoff == "" && mp.p.ptr().status == _Prunning
print.go#L68: mp.locks++ // do not reschedule between printlock++ and lock(&debuglock).
print.go#L73: mp.locks-- // now we know debuglock is held and holding up mp.locks for us.
proc.go#L1179: if _g_.m.locks > 0 {
proc.go#L2215: if _g_.m.locks != 0 {
proc.go#L3114: if _g_.m.locks != 0 {
proc.go#L3590: _g_.m.locks++
proc.go#L3642: _g_.m.locks--
proc.go#L3687: _g_.m.locks++ // see comment in entersyscall
proc.go#L3722: _g_.m.locks--
proc.go#L3748: _g_.m.locks++ // see comment in entersyscall
proc.go#L3770: _g_.m.locks--
proc.go#L3802: _g_.m.locks--
proc.go#L3950: gp.m.locks++
proc.go#L3972: gp.m.locks--
proc.go#L4564: _g_.m.locks++
proc.go#L4588: _g_.m.locks--
proc.go#L5389: print(" M", mp.id, ": p=", id1, " curg=", id2, " mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, ""+" locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=", id3, "\n")
proc.go#L6051: mp.locks++
proc.go#L6058: _g_.m.locks--
runtime1.go#L469: _g_.m.locks++
runtime1.go#L476: mp.locks--
runtime1.go#L477: if mp.locks == 0 && _g_.preempt {
runtime2.go#L535: locks int32
sema.go#L195: if s.ticket == 1 && getg().m.locks == 0 {
stack.go#L1052: if thisg.m.p == 0 && thisg.m.locks == 0 {